In the previous JavaScript tutorial, we learned about the Date() object in JavaScript and how to create them using the
new Date()
constructor. There we also learned that we can use the string date type and convert it into a Date object.
Now, in this tutorial, we will learn what are the different date formats we can use as a string, to convert it into a Date() object.
Date format
In javascript, we can represent string data in 3 different formats.
Type | Format | Example |
ISO | "YYYY-MM-DD" | "2022-12-30" |
Short | "MM/DD/YYYY" | "12/30/2022" |
Long | "Month DD YYYY " or "DD Month YYYY" | "Dec 30 2022" or "30 Dec 2022" |
JS ISO Date
In ISO ( International Organization for Standardization) format, we represent the Date in (YYYY-MM-DD) format.
Example
let iso_date = "2022-12-30";
let date = new Date(iso_date );
console.log(date); //Thu Dec 30 2022 05:30:00 GMT+0530 (India Standard Time)
By default the Date is converted into user browser-specific timezone, in my case, it converted into India Standard Time.
ISO Date with Year and Month
We can also specify only Year and Month data and create a Date object with (YYYY-MM) format only, and the rest of the details like time day, etc will be filled automatically.
Example
let iso_date = "2022-12"
let date = new Date(iso_date );
console.log(date); //Thu Dec 01 2022 05:30:00 GMT+0530 (India Standard Time)
As you can see that the time
(05:30:00)
and day
01
automatically assigned to the date object when we only specify the year and month.
ISO Date with Year
We can also only pass the Year data and the Date() object will set the rest of the data automatically.
Example
let iso_date = "2022"; // YYYY
date = new Date(iso_date );
console.log(date) //Sat Jan 01 2022 05:30:00 GMT+0530 (India Standard Time)
JS ISO Date with date & time
We can also specify the compete date and time to create a Date object. To create a complete manual date-time object we can use the following format (YYYY-MM_DDTHH:MM:SSZ).
Example
let iso_date = "2022-12-30T12:00:00"
let datetime = new Date(iso_date );
console.log(datetime); // Fri Dec 30 2022 12:00:00 GMT+0530 (India Standard Time)
Here the T represents the separator between date and time. And Z represents the UTC timezone(omit Z it will follow your browser timezone).
JS Short Dates
In the short Date, we represent the dat2 in the following format "MM/DD/YYYY"
Example
let short_date = "12/30/2022";
let date = new Date(short_date);
console.log(date); // Thu Dec 30 0202 00:00:00 GMT+0553 (India Standard Time)
Some browser throw an error if we do not specify the leading 0 before the data ex"23-3-2022"
so its alwayse a good practice to use leading zero to represent single digit date "23-03-2022
".
JS Long Dates
JS
Date()
object also supports the Long date format. To write the date in long date format we can use the following format "MMM DD YYYY".
Example
let long_date_1 = "Dec 30 2022"; //"MMM DD YYYY"
let long_date_2 = "30 Dec 2022"; // DD MMM YYYY
let long_date_3 = "December 30 2022"; // MMMMMM DD YYYY
date1 = new Date(long_date_1);
date2 = new Date(long_date_2);
date3 = new Date(long_date_3);
console.log(date1); // Fri Dec 30 2022 00:00:00 GMT+0530 (India Standard Time)
console.log(date2); //Fri Dec 30 2022 00:00:00 GMT+0530 (India Standard Time)
console.log(date3); //Fri Dec 30 2022 00:00:00 GMT+0530 (India Standard Time)
Parse Date into Milliseconds
We can convert a valid date into milliseconds. The Date object comes with an inbuilt parse() method which converts a valid string date into milliseconds from date
1 January 1970
.
Example
let current_iso_date ="March 21 2022";
let millisec = Date.parse(current_iso_date);
console.log(millisec); //1647801000000
Then we can use the milliseconds to convert back into Date.
let millisec = 1647801000000;
date = new Date(millisec);
console.log(date); //Mon Mar 21 2022 00:00:00 GMT+0530 (India Standard Time)
Summary
- In JavaScript, we can represent string date in 3 formats ISO, short and Long.
- In ISO we represent date using the "YYYY-MM-DD" format.
- In Short Date, we represent the date using "MM/DD/YYYY" format.
- In Long date, we represent date using "MMMM DD YYYY" format.
People are also reading: